<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<title>Talaria - распределенная сеть обмена информацией</title>
<link href="ice.css" type="text/css" rel="stylesheet"/>
</head>
<body>

<p>Talaria позволяет строить распределенную сеть обмена информацией без наличия специальных знаний и навыков.</p>

<center><img src="pics/dnmp_figure_1.gif" /></center>

<p>В основе сети лежат узлы (nodes) - они могут соединяться друг с другом и обмениваться информацией. Клиенты могут подключаться только к узлам. Соединенные непрерывно между собой узлы образуют сегмент сети. Внутри сегмента действует автоматическая маршрутизация и работают массовые рассылки.</p>

<p>Адресация участников осуществляется по сетевому адресу формата X.Y, который состоит из идентификатора узла (X) и идентификатора клиента узла (Y). Кроме того, у каждого участника имеется глобальный уникальный идентификатор GUID, который не зависит от сетевого адреса, но является его синонимом. Возможна прямая адресация 2^32 узлов и 2^32 клиентов на каждом узле.</p>

<p>Основной единицей передаваемой в сети информации является сетевое сообщение. Сетевое сообщение состоит из заголовка, секции параметров и секции данных. Заголовок содержит тип сообщения, адреса отправителя и получателя, таймштамп. Секция параметров содержит произвольные текстовые параметры в виде имя=значение. Секция данных хранит произвольные данные. При прохождении через несколько узлов в конец сообщения добавляются синбаи - идентификаторы пройденых узлов.</p>

<center><img src="pics/dnmp_msg.png" /></center>

<p>Внутри сети у клиента имеется паспорт - набор сведений клиента, который мигрирует между узлами, если клиент подключается к другому узлу. Паспорт содержит как основные сведения о клиенте (адрес, GUID, имя), так и дополнительные (произвольная информация, список контактов, подписки на сервисы, неполученые сообщения.</p>

<p>При подключении не используются логины и пароли. Авторизация осуществляется шифрованным ключом, ключ генерируется автоматически при ручном подтверждении принятия кчастника в сеть. При этом в паспорте участника отмечается узел, который его принял в сеть.</p>

<p>Для регулирования сети служит система объективных и субъективных рейтингов. Объективные рейтинги составляются автоматически и отражают скорость передачи и обработки данных, уровень ошибок связи, нарушения стандартов. Субъективный рейтинг выставляется вручную. Участники с низким рейтингом ограничены в возможностях, вплоть до полного исключения из сети. Приоритет сетевых сообщений определяется типом сообщения и правилами маршрутизации на узле.</p>

<p>
В сети имеются сервисы - программы, реализующие различный пользовательский функционал, такой как:<br>
<li>обмен короткими текстовыми сообщениями<br>
<li>обмен сообщениями и файлами<br>
<li>архивы, форумы, блоги<br>
<li>обмен данными в реальном времени (звук, видео)<br>
Сервисы работают интерактивно (запрос-ответ), или по подписке, когда информация рассылается всем подписчикам сервиса, без необходимости запроса.
</p>

<p>В основе сети лежит протокол DNMP (Distributed Network Messaging Protocol)</p>
<a href="proto_descr.htm">DNMP - описание протокола</a><br>
<a href="msg_format.htm">DNMP - формат сообщений</a><br>
<a href="auth.htm">DNMP - авторизация</a><br>
<a href="routing.htm">DNMP - маршрутизация</a><br>
<a href="passport.htm">DNMP - паспорт</a><br>
<a href="services.htm">DNMP - сервисы</a><br>
<a href="containers.htm">DNMP - контейнеры и метаданные</a><br>
<a href="faq.htm">DNMP - вопросы и ответы (FAQ)</a><br>

<p>
Исходники на трекере проекта:<br>
<a href="http://svn.irchat.ru/browser/trunk/Grouper">http://svn.irchat.ru/browser/trunk/Grouper</a>
</p>

<p>Проект разрабатывается на FreePascal с использованием мультиплатформенных библиотек и компонентов.</p>
</body>
</html>